package net.kodra.supereasy.traffic.client;

import net.kodra.supereasy.traffic.shared.Schedule;
import net.kodra.supereasy.traffic.shared.TransportationVehicle;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>TrafficService</code>.
**/
public interface TrafficServiceAsync
{

  void registerClient(AsyncCallback<Long> callback);

  void getCurrentSchedule(String stationName, AsyncCallback<Schedule[]> callback) throws IllegalArgumentException;

  void getUpdate(AsyncCallback<TransportationVehicle[]> callback) throws IllegalArgumentException;

}